package com.jctrip.hotel.source.model.meituan.resp;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: zxy
 * @CreateTime: 2023-12-26 11:17
 * @Description: https://developer-distribution.meituan.com/#/apiDocs/1/25/26
 */
@Data
public class OrderCheckResp implements Serializable {
    /**
     * 校验结果码：
     * 0 校验成功
     * 1 校验失败
     * 2 黑名单酒店
     * 3 房态不满足预订
     * 4 三方产品不可售
     * 5 产品不存在
     * 6 产品库存不足
     * 7 未获取到价格
     * 8 价格发生变化
     * 9 产品规则变化
     * 10 产品规则校验不通过
     * 20 其他
     */
    private Integer code;

    /**
     * 校验失败原因描述
     */
    private String desc;

    /**
     * 最新价格信息列表，code=0或8时会返回。此处返回价格是单天单间，如多天多间下单时的价格需要计算
     */
    private List<PriceModel> priceModels;

    /**
     * 库存
     * 0 库存不足
     * 1～5 库存数量
     * 999 库存充足
     */
    private Integer remainRoomNum;

    @Data
    public static class PriceModel implements Serializable {

        /**
         * 日期，格式为yyyy-MM-dd。
         */
        private String date;

        /**
         * 推荐分销商依此价格进行售卖（售卖价），单位为分。
         */
        private Integer salePrice;

        /**
         * 给分销商的佣金，单位为分。
         */
        private Integer subPrice;

        /**
         * 分销平台与分销商约定的佣金比率，取值为实际值乘以10000的结果。如佣金比率为4%，则subRatio=400。
         */
        private Integer subRatio;

        /**
         * 价日类型：
         * 0 平日
         * 1 周末
         * 2 特殊日
         */
        private Integer dayType;
    }
}
